#ifndef __GOOMBA_H_
#define __GOOMBA_H_

#include "Object.h"

#define GOOMBA_VX	0.1
#define GRAVITY			0.01

//enum GOOMBA_STATE
//{
//	GS_DIE,
//	GS_NORMAL
//};

class Goomba : public Object
{
private:
	bool check_turn;

	float _vx;
	float _vy;
	float _accelY;

	float _xOld;
	float _yOld;

	float timeDie;
public:
	list<Object*> *collisionObjectList;
	

	Goomba(float x, float y);
	Goomba(LPDIRECT3DDEVICE9 d3ddv,  LPDIRECT3DSURFACE9 BackBuffer, LPD3DXSPRITE SpriteHandler, float x, float y, int Object_State, int Direction);
	~Goomba();
	//void Init(LPDIRECT3DDEVICE9 d3ddv,  LPDIRECT3DSURFACE9 BackBuffer, LPD3DXSPRITE SpriteHandler);
	//void Update(int _ScreenWidth, int _ScreenHeight, float gameTime);
	void Render();

	void TurnLeft();
	void TurnRight();

	//void ResetRect();
	void ResetRectNULL();
	OBJECT_TYPE GetTypeObject();
	void Update(list<Object*>* staObjs, list<Object*>* dynObjs, DxInput* input, float TPF);
	void Move(list<Object*>* staObjs, float TPF);
	void ChangeState(int state);
};

#endif